#include <stdio.h>
#include "gestion_personnel.h"

Personnell saisir_personnell()
{  Personnell p;

    printf ("Entrez le nom du nouveau personnel \n ");
    scanf ("%s", p.nom);
    printf ("Entrez le prénom du nouveau personnel \n ");
    scanf ("%s", p.prenom);
    printf ("Entrez l'age du nouveau personnel \n");
    scanf ("%d", &(p.age));
    printf ("Entrez l'identifiant du nouveau personnel \n");
    scanf ("%d", &(p.id));
    printf ("Entrez l'etat du nouveau personnel \n");
    scanf ("%s",p.etat);
  return(p);
}

void ajouterPersonnel()
{
   Personnell p1, p;
   char chemin[]="fpersonnel.txt";
   FILE *f ;
   f= fopen (chemin,"a");

   p1=saisir_personnell();
int var=0;
 while ((fscanf(f,"%s %s %d %d %s",p.nom,p.prenom,&p.age, &p.id,p.etat) != EOF ))
  {
       if(p1.id ==p.id)
            {
                printf("le personnel %d existe \n", p.id);
                var=1;
            }
    }
if(var==0)
{
    fprintf(f,"%s %s %d %d %s\n",p1.nom,p1.prenom,p1.age, p1.id,p1.etat);
}
    fclose(f);

}

void modifierPersonnel()
{   Personnell p;
    char chemin[]="fpersonnel.txt";
    char chemin2[]="fichiertemporel.txt";
    int id1;
    FILE *f1;
    FILE *f2;
    f1= fopen(chemin, "r");
    f2=fopen(chemin2,"a");


    printf ("donner l id a modifier\n ") ;
    scanf ("%d",&id1);

    while (fscanf(f1,"%s %s %d %d %s",p.nom,p.prenom,&p.age,&p.id, p.etat) != EOF)
    {
        if(p.id ==id1)
        {
            printf ("donner le nom \n ");
            scanf ("%s", p.nom);
            printf ("donner le prenom \n ");
            scanf ("%s", p.prenom);
            printf ("donner l age \n ");
            scanf ("%d",&(p.age));
            printf ("donner l etat \n ");
            scanf ("%s",p.etat);
        }



        fprintf(f2,"%s %s %d %d %s \n",p.nom,p.prenom,p.age,p.id,p.etat);
    }
    fclose(f1);
    fclose(f2);
    remove(chemin);
    rename(chemin2,chemin);
}

void supprimerPersonnel()
{   Personnell p;
    char chemin[]="fpersonnel.txt";
    char chemin2[]="fichiertemporel.txt";
    int id1;
    FILE *fichier_perso;
    FILE *fichier_perso2;
    fichier_perso = fopen(chemin, "r");
    fichier_perso2=fopen(chemin2,"w");

    printf ("donner l id a supprimer\n ") ;
    scanf ("%d",&id1);


    while    (fscanf(fichier_perso,"%s %s %d %d %s",p.nom , p.prenom, &p.age, &p.id, p.etat) != EOF)
    {


        if(p.id !=id1)
        {

            fprintf(fichier_perso2," %s %s %d %d %s\n",p.nom,p.prenom,p.age,p.id,p.etat);
        }
    }

    fclose(fichier_perso);
    fclose(fichier_perso2);
    remove(chemin);
    rename(chemin2,chemin);

}

void afficherPersonnel()
{
    Personnell p;
    char chemin[]="fpersonnel.txt";
    FILE *f;
    f=fopen(chemin,"r");
    if(f==NULL){
        printf("Impossible d'ouvrir le fichier! \n");
    }
    else{
        printf("\n\n \tLa Liste des personnels\n\nNom     | Prenom       |Age   |Identifiant  | Etat\n----------------------------------------------\n");
        while (fscanf(f,"%s %s %d %d %s",p.nom,p.prenom,&p.age ,&p.id,p.etat) != EOF)
        {
            printf(" %s | %s | %d | %d | %s\n----------------------------------------------\n",p.nom,p.prenom,p.age,p.id,p.etat);
        }

    }
    fclose(f);

}

void rechercherPersonnel()
{   Personnell p;
    int x;
    int r=0;
    char chemin[]="fpersonnel.txt";
    FILE *fichier_perso;
    fichier_perso = fopen(chemin, "r");
    if (fichier_perso==NULL)
    {
        printf("ERREUR\n");

    }
    else
    {
        printf("entrer l idetentifiant du personnel que vous cherchez:\n");
        scanf("%d",&x);
        while(fscanf(fichier_perso,"\n %s %s %d %d %s\n",p.nom,p.prenom,&p.age, &p.id,p.etat)!=EOF)
        {
            if(x==(p.id))
            {
                r=1;
                break;
            }
        }
        fclose(fichier_perso);
    }
    if (r==1)
    {printf( "\n %s %s %d %d %s \n",p.nom,p.prenom,p.age,p.id,p.etat);}
    else{printf( "\n le personnel %d que vous cherchez n'existe pas \n", x);}

}
